home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / bash_completion.d / mcrypt < prev    next >
Text File  |  2009-04-02  |  2KB  |  81 lines

  1. # -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
  2. # ex: ts=8 sw=8 noet filetype=sh
  3. #
  4. # mcrypt(1) completion by Ariel Fermani <the_end@bbs.frc.utn.edu.ar>
  5.  
  6. _mcrypt()
  7. {
  8.     local cur prev i decrypt
  9.  
  10.     COMPREPLY=()
  11.     cur=`_get_cword`
  12.     prev=${COMP_WORDS[COMP_CWORD-1]}
  13.  
  14.     case "$prev" in
  15.         -@(g|-openpgp-z))
  16.             COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' \
  17.                 -- $cur ) )
  18.             return 0
  19.             ;;
  20.         -@(o|-keymode))
  21.             COMPREPLY=( $( mcrypt --list-keymodes 2> /dev/null |
  22.                 grep "^$cur" ) )
  23.             return 0
  24.             ;;
  25.         -@(m|-mode))
  26.             COMPREPLY=( $( mcrypt --list 2> /dev/null |
  27.                 sed -e 's/.*: //' -e 's/ $//' | sort |
  28.                 uniq | tr " " "\n" | grep "^$cur" ) )
  29.             return 0
  30.             ;;
  31.         -@(a|-algorithm))
  32.             COMPREPLY=( $( mcrypt --list 2> /dev/null |
  33.                 awk '{print $1}' | grep "^$cur" ) )
  34.             return 0
  35.             ;;
  36.         -@(h|-hash))
  37.             COMPREPLY=( $( mcrypt --list-hash 2> /dev/null |
  38.                 sed 1d | grep "^$cur" ) )
  39.             return 0
  40.             ;;
  41.         -@(k|s|-@(key?(size))))
  42.             return 0
  43.             ;;
  44.         -@(f|c|-@(keyfile|config)))
  45.             _filedir
  46.             return 0
  47.             ;;
  48.         --@(algorithm|mode)s-directory)
  49.             _filedir -d
  50.             return 0
  51.             ;;
  52.     esac
  53.  
  54.     if [[ "$cur" == -* ]]; then
  55.         COMPREPLY=( $( compgen -W '-g --openpgp --openpgp-z -d \
  56.             --decrypt -s --keysize -o --keymode -f --keyfile \
  57.             -c --config -a --algorithm --algorithms-directory \
  58.             -m --mode --modes-directory -h --hash -k --key \
  59.             --noiv -b --bare -z --gzip -p --bzip2 --flush -l \
  60.             --doublecheck -u --unlink --nodelete -t --time -F \
  61.             --force --echo -r --random --list --list-keymodes \
  62.             --list-hash -V --verbose -q --quiet --help -v \
  63.             --version -L --license' -- $cur ) )
  64.     elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then
  65.         _filedir '@(nc)'
  66.     else
  67.         decrypt=0
  68.         for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
  69.             if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then
  70.                 _filedir '@(nc)'
  71.                 decrypt=1
  72.                 break
  73.             fi
  74.         done
  75.         if [[ $decrypt -eq 0 ]]; then
  76.             _filedir
  77.         fi
  78.     fi
  79. }
  80. complete -o filenames -F _mcrypt mcrypt mdecrypt
  81.